package com.jbm.core.client;

import com.jbm.core.common.ConnectAgent;
import com.jbm.core.iface.IFileObject;
import com.jbm.onehome.iface.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * Created by root on 16-10-14.
 */
public interface MainCallback
{
	void NewAccount(ConnectAgent ca);
	void RemoveAccount(Integer account_id);

	void UpdateAccount(boolean pullall, ConnectAgent ca);
	void OfflineAccount(int status, ConnectAgent ca);

	void NewDevice(ConnectAgent ca);
	void RemoveDevice(Integer account_id);

	void UpdateDevice(boolean pullall, ConnectAgent ca);
	void OfflineDevice(ConnectAgent ca);

	void NewText(Integer account_id, String text, long timestamp);
	void NewFile(Integer account_id, IFileObject fo, long timestamp);
	void NewPay(Integer account_id, String msg, BigDecimal fee, String paytype, long timestamp);

	void CGNewText(int cg_id, Integer account_id, String text, long timestamp);
	void CGNewFile(int cg_id, Integer account_id, IFileObject fo, long timestamp);

	void AddContact(ContactEntity ce);
	void DropContact(ContactEntity ce);

	void Belogout();

	List<String> getAllIFace();

	void ReConnect();

	void GPConfirmStart(int cg_id);
	void GPSelectCertAddress(int cg_id, ICertAddress[] ca);
	void GPSelectCatalog(int cg_id, List<GoodsEntity> glist);
	void GPSelectTeam(int cg_id, String[] team);
	void DeliverCode(String code, String memo, Integer from_id, Integer to_id, long timestamp);

	void orderStatus(IorderEntity iorderEntity);
	void jobOrderStatus(JobOrderEntity jobOrderEntity);
	void addToUnit(CallGroupEntity cg);



}
